package com.ruoyi.framework.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

/**
 * 简化的安全配置辅助类
 * 提供一些便捷的安全相关配置选项
 * 
 * @author ruoyi
 */
@Configuration
public class SimplifiedSecurityConfig {

    @Value("${security.simplified.enabled:true}")
    private boolean simplifiedSecurityEnabled;
    
    /**
     * 提供一个主要的密码编码器，可以根据需要切换策略
     */
    @Bean
    @Primary
    public PasswordEncoder passwordEncoder() {
        // 使用BCrypt强散列哈希加密实现
        return new BCryptPasswordEncoder();
    }
    
    /**
     * 是否启用简化的安全配置
     */
    @Bean
    public boolean isSimplifiedSecurityEnabled() {
        return simplifiedSecurityEnabled;
    }
} 